/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */ 
package ec.edu.ups.cidi.siia.plamdep.ejecutor;
import ec.edu.ups.cidi.siia.plamdep.analizadorLexico.analisis.AnalisisUtils;
import ec.edu.ups.cidi.siia.plamdep.cargadocumentos.DocumentoLeido;
import ec.edu.ups.cidi.siia.plamdep.interfaces.IAnalisisUtils;
import ec.edu.ups.cidi.siia.plamdep.webcrawler.WebCrawler;
/**
 *
 * @author Usuario
 */
public class Servicios 
{
        //servicios compartidos
        private static IAnalisisUtils analizador;
        private static WebCrawler buscador;

        //banderas de arranque
        private static boolean anlizadorIsArrancado=false;
        private static boolean buscadorIsArrancado=false;

        //Metodos de Arranque de servicios
        public static void arrancarAnalizadorLexico()
        {
            if(!Servicios.anlizadorIsArrancado)
            {
              analizador=new AnalisisUtils();
             
              anlizadorIsArrancado=true;
            }
        }
        public static void arrancarBuscadorWeb()
        {
            if(!Servicios.buscadorIsArrancado)
            {
                buscador=new WebCrawler();
                buscadorIsArrancado=true;
                
            }
        }
        
        //Metodos de acceso a los servicios
        public static IAnalisisUtils getAnalizadorLexico()
        {
            return Servicios.analizador;
        }
        public static WebCrawler getBuscadorWeb()
        {
            
            return Servicios.buscador;
        }
        public static WebCrawler getDownloader()
        {
            WebCrawler downloader=new WebCrawler();
            downloader.setCargaDocumentos(new DocumentoLeido());
            return  downloader;
        }
}
